package ejb;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.NotEmpty;


public class PacchettoViaggioDTO {

	   
	private int idPacchettoViaggio;
	@NotEmpty
	private String nome;
	@NotEmpty
	private String destinazione;
	@Temporal(TemporalType.DATE)
	private Date dataInizio;
	@Temporal(TemporalType.DATE)
	private Date dataFine;
	@Temporal(TemporalType.DATE)
	private Date dataPartenza;
	@Temporal(TemporalType.DATE)
	private Date dataRitorno;
	@NotNull
	private int numeroPersone;
	@NotNull
	private int prezzo;
	private VoloDTO voloAndata;
	private VoloDTO voloRitorno;
	private HotelDTO hotel;
	private EscursioneDTO escursione;
	private List<HotelDTO> alternativeHotel;
	private List<EscursioneDTO> alternativeEsc;
	
	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public PacchettoViaggioDTO(){
		this.alternativeHotel = new ArrayList<HotelDTO>();
		this.alternativeEsc = new ArrayList<EscursioneDTO>();
	}
	
	public int getIdPacchettoViaggio() {
		return this.idPacchettoViaggio;
	}

	public void setIdPacchettoViaggio(int idPacchettoViaggio) {
		this.idPacchettoViaggio = idPacchettoViaggio;
	}   
	public String getDestinazione() {
		return this.destinazione;
	}

	public void setDestinazione(String destinazione) {
		this.destinazione = destinazione;
	}   
	public Date getDataInizio() {
		return this.dataInizio;
	}

	public void setDataInizio(Date dataInizio) {
		this.dataInizio = dataInizio;
	}   
	public Date getDataFine() {
		return this.dataFine;
	}

	public void setDataFine(Date dataFine) {
		this.dataFine = dataFine;
	}   
	public Date getDataPartenza() {
		return dataPartenza;
	}

	public void setDataPartenza(Date dataPartenza) {
		this.dataPartenza = dataPartenza;
	}

	public Date getDataRitorno() {
		return dataRitorno;
	}

	public void setDataRitorno(Date dataRitorno) {
		this.dataRitorno = dataRitorno;
	}

	public int getNumeroPersone() {
		return this.numeroPersone;
	}

	public void setNumeroPersone(int numeroPersone) {
		this.numeroPersone = numeroPersone;
	}   
	public int getPrezzo() {
		return this.prezzo;
	}

	public void setPrezzo(int prezzo) {
		this.prezzo = prezzo;
	}   
	
	public VoloDTO getVoloAndata() {
		return voloAndata;
	}

	public void setVoloAndata(VoloDTO voloAndata) {
		this.voloAndata = voloAndata;
	}

	public VoloDTO getVoloRitorno() {
		return voloRitorno;
	}

	public void setVoloRitorno(VoloDTO voloRitorno) {
		this.voloRitorno = voloRitorno;
	}

	public HotelDTO getHotel() {
		return hotel;
	}

	public void setHotel(HotelDTO hotel) {
		this.hotel = hotel;
	}

	public EscursioneDTO getEscursione() {
		return escursione;
	}

	public void setEscursione(EscursioneDTO escursione) {
		this.escursione = escursione;
	}

	public List<HotelDTO> getAlternativeHotel() {
		return alternativeHotel;
	}
	public void setAlternativeHotel(List<HotelDTO> alternativeHotel) {
		this.alternativeHotel = alternativeHotel;
	}
	public List<EscursioneDTO> getAlternativeEsc() {
		return alternativeEsc;
	}
	public void setAlternativeEsc(List<EscursioneDTO> alternativeEsc) {
		this.alternativeEsc = alternativeEsc;
	}
}
